from django.contrib import admin

from brancing.admin import AutoUserFieldAdmin
from hospedaje.models import Habitacion, Alquiler, Modalidad, Reserva, Categoria


class AlquilerAdmin(AutoUserFieldAdmin):
    raw_id_fields = 'cliente',
    user_field = 'aprobado_por'
    filter_horizontal = 'habitaciones',
    fieldsets = (
        (None, {'fields': ['aprobado_por']}),
        (None, {'fields': ('reserva', 'cliente',
            ('fecha_ingreso', 'hora_ingreso'),
            ('fecha_egreso', 'hora_egreso'))}),
        (None, {'fields': ('habitaciones', 'modalidad', 'observaciones')}))

admin.site.register(Alquiler, AlquilerAdmin)


class ReservaAdmin(AlquilerAdmin):
    raw_id_fields = 'responsable',
    user_field = 'solicitado_a'
    filter_horizontal = 'habitaciones',
    fieldsets = (
        (None, {'fields': ['solicitado_a']}),
        (None, {'fields': ('responsable',
            ('fecha_ingreso', 'hora_ingreso_estimada'),
            ('duracion_estadia', 'cantidad_de_personas'), 'modalidad')}),
        (None, {'fields': ('habitaciones', 'observaciones')}))

admin.site.register(Reserva, ReservaAdmin)


class HabitacionAdmin(admin.ModelAdmin):
    list_display = 'numero', 'categoria', 'estado'
    list_filter = 'categoria',

admin.site.register(Habitacion, HabitacionAdmin)


admin.site.register(Modalidad)
admin.site.register(Categoria)
